﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Renci.Data.Interop.OpenGIS.Gml_32
{
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GeodesicStringType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GeodesicType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClothoidType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OffsetCurveType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BSplineType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BezierType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CubicSplineType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcByCenterPointType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CircleByCenterPointType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcStringByBulgeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcByBulgeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcStringType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CircleType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(LineStringSegmentType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    public abstract class AbstractCurveSegmentType
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="AbstractCurveSegmentType"/> class.
        /// </summary>
        public AbstractCurveSegmentType()
        {
            this.NumDerivativesAtStart = "0";
            this.NumDerivativesAtEnd = "0";
            this.NumDerivativeInterior = "0";
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("numDerivativesAtStart", DataType = "integer")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string NumDerivativesAtStart { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("numDerivativesAtEnd", DataType = "integer")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string NumDerivativesAtEnd { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("numDerivativeInterior", DataType = "integer")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string NumDerivativeInterior { get; set; }
    }
}
